package weekHomework;

import java.util.Scanner;

/**
 * @author: Dsi
 * @date: 2021/11/13 11:27
 * @description:写一个方法，方法名叫isPrimeNumber，当我传入任何int类型的正整数时，
 * 判断传入的数据是否是质数，并打印出“是质数”、“不是质数”的输出语句（提示：质数是只能被1和它本身整除的数）
 */
public class Test01 {
    public static void main(String[] args) {
        test();
    }

    private static boolean  test() {
        int a=0;
        //错误判断
        try {
            System.out.println("输入正整数：");
            a=new Scanner(System.in).nextInt();
            if(a>0) {
                System.out.println(isPrimeNumber(a));
                test();
            }else{
                System.out.print("数据错误.");
                test();
            }
        }catch(Throwable e){
            System.out.print("数据错误");
            test();
        }

        return true;
    }

    private static String isPrimeNumber(int a) {
        String b = "是质数";
        String b1 = "不是质数";
        if(a==1){
            return b1;
        }
        if(a==2||a==3) {
            return b;
        }
        for (int i = 2; i<Math.sqrt(a); i++) {
            if(a % i == 0){
                System.out.println(i);
                return b1;
            }
        } return b;
    }
}
